import { TraObject } from './TraObject';

/*
类：上传的对象
属性：
    fileName: 上传文件名(去掉后缀)
    coordsList：文件解析后的坐标序列
    color：后续渲染的图层颜色
方法：
    extractCoordsSeq：从文本中解析出坐标序列信息
        input：文本信息
        output：解析结果
*/
class UploadTraObject extends TraObject {
  static extractCoordsSeq(message) {
    // message = message.replace(/\s+/g, ''); //去空
    message = message.replace(/[ \t\r\n]+/g, ''); //去空
    const regex = /\[(\[\d+(\.\d+)?,\d+(\.\d+)?\],){1,}(\[\d+(\.\d+)?,\d+(\.\d+)?\])\]/g;
    const matches = message.match(regex);
    let extractedArrays = null;
    if (matches) {
      try {
        extractedArrays = matches.map((match) => JSON.parse(match)); // 匹配到的内容数组
      } catch (error) {
        console.log(error);
        return null;
      }
      return JSON.stringify(extractedArrays); //返回字符串
    }
    return extractedArrays;
  }
  constructor(fileName, coordsList, color) {
    super(fileName, coordsList, color);
  }
}

export { UploadTraObject };
